Modeling a Groupware Editing Tool with Cooperative Objects
نویسندگان
چکیده
The language described in this paper, called Cooperative Objects, fits in the category of strongly-typed OOL. Its type system, the semantics it retains for inheritance, and more generally all its specifically Object-Oriented features are strongly influenced by the Eiffel language [1]. In particular, an object system is organized by a dynamically evolving use relationship, describing how the objects communicate through services invocations, following a client / server style of interaction. In Eiffel, the contract that a server object ensures to fulfill towards its clients is expressed by a set of preconditions, postconditions and invariants. In Cooperative Object, the idea of programming by contract is retained, but the contract is expressed by a High-Level Petri Net (HLPN) expressing the precedence constraints, the concurrency and the synchronization between the provided services. This allows for an easy description of objects with an internally concurrent behavior. In Eiffel, the implementation of a class is given by providing the algorithms associated with each services, supposed to respect the class' contract. In Cooperative Objects, the implementation of a class is given by a HLPN, more detailed than that of its specification, making explicit how instances of the class will behave as clients of other objects. Petri Nets analysis results may ensure that the implementation PN is compatible with the specification PN. Finally, the semantics of a service invocation is also expressed by a Petri net. This allows to provide a formal semantics not only to the behavior of a single object, but also to a set of communicating objects. The paper presents the Cooperative Objects language. It first explains how the language may be used as a formalism for describing objects with concurrent behaviors, thus providing the specification of a concurrent class. It then shows how to provide an executable implementation of the class within the same formalism. The basic semantics of inter-objects communications is then detailed, in terms of Petri nets. Finally, some indications are given on how to use results from the PN theory to ensure the compatibility between a specification and its implementation, and between ancestor and descendants down an inheritance hierarchy.
منابع مشابه
A Synchronous Cooperative Architecture for the PROSOFT Software Engineering Environment1
This paper shows the evolution of a software engineering environment (SEE) called PROSOFT to support the formal development of groupware applications. This environment, which is centered in the data-driven approach for software development, evolved to support cooperation in the software development process. Its transition is founded in a client/server communication model called Distributed PROS...
متن کاملReal-Time Cooperative Editing on the Internet
C omputer-supported cooperative work (CSCW) or groupware systems allow physically dispersed teams to engage in a common task by providing an interface to a shared workspace.1 Real-time cooperative editing systems extend the usefulness of CSCW applications by allowing team members to simultaneously view and edit shared documents. Both the CSCW and distributed computing communities have addressed...
متن کاملDefining Tasks, Domains and Conversational Acts in CSCW Systems: the SPACE-DESIGN Case Study
Most of the current academic and professional work requires collaboration between the members of a working group. Groupware tools play a prevailing role in supporting this collaborative work, often from different locations and at the same time. The research field of CSCW (Computer-Supported Cooperative Work) studies how to design effective groupware tools. To increase their potential, groupware...
متن کاملA CORBA Platform for Component Groupware
The next generation of CSCW systems should be component-based. Such systems consist of independently developed groupware components (i.e. CSCW software components) which users can pick and mix to obtain a groupware application environment tailored to their needs. To support developers in achieving this, groupware platforms should be based on CORBA, an emerging industry standard for distributed ...
متن کاملINTERCONNECT: An extensible Workbench for Customizing Cooperative Work Applications
The complexity of developing full fledged groupware systems imposes a heavy demand on the development team and certainly is a task not to be accomplished in a short period of time. Many research projects opt to develop a specific tool, concentrating on a particular task of cooperative work. In this article we introduce INTERCONNECT, an extensible groupware workbench, used as a composition tool ...
متن کامل